package com.taxi.daos.factory;


import com.taxi.daos.interfaces.ChoferDAO;
import com.taxi.daos.interfaces.DisponibilidadDAO;
import com.taxi.daos.interfaces.DistritoDAO;
import com.taxi.daos.interfaces.EmpresaDAO;
import com.taxi.daos.interfaces.ReservaDAO;
import com.taxi.daos.interfaces.SectorDAO;
import com.taxi.daos.interfaces.SugerenciaDAO;
import com.taxi.daos.interfaces.TipoDocDAO;
import com.taxi.daos.interfaces.UsuarioDAO;
import com.taxi.daos.interfaces.VehiculoDAO;

public abstract class DAOFactory {
    
    public static final int MYSQL = 1;       
    public abstract UsuarioDAO 	getUsuarioDAO();
    public abstract DistritoDAO	getDistritoDAO();
    public abstract TipoDocDAO 	getTipoDocDAO();
    public abstract DisponibilidadDAO getDisponibilidadDAO();
    public abstract ReservaDAO getReservaDAO();
    public abstract VehiculoDAO getVehiculoDAO();
    public abstract EmpresaDAO getEmpresaDAO();
    public abstract ChoferDAO getChoferDAO();
    public abstract SugerenciaDAO getSugerenciaDAO();
    public abstract SectorDAO getSectorDAO();
    
    public static DAOFactory getDAOFactory(int whichFactory){
       switch(whichFactory){
       	case MYSQL:
       	    return new MySqlDAOFactory();
       	default:
       	    return null;
       }
    }

}
